 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

namespace Pokusaj1
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
               
                NapuniKlijente(); // napuni ddl klijenata
                NapuniRobe();   // napuni ddl roba
                NapuniGrid();

            }
        }


        private void NapuniKlijente()
        {
            var ds = new NapuniDdl();
            DataSet klijenti = ds.Klijenti();
            DdlKlijent.DataSource = klijenti;
            DdlKlijent.DataBind();

        }

        private void NapuniRobe()
        {
            var ds = new NapuniDdl();
            DataSet robe = ds.Robe();
            DdlRoba.DataSource = robe;
            DdlRoba.DataBind();

        }

        private void NapuniGrid()
        {
            var ds = new ProxyBaze();
            string upit = @"SELECT Klijent.Naziv, Roba.NazivRobe, Roba.IdRobe, Roba.Kolicina, Roba.Koleta, Roba.Pozicija, Roba.SifraRobe, Roba.DatumUlaza
                            FROM Klijent INNER JOIN Roba ON Klijent.IdKlijent = Roba.IdKlijent";

            DataSet grid = ds.NapuniDataset(upit);
            gvPregledRobe.DataSource = grid;
            gvPregledRobe.DataBind();

        }

        protected void btnPrikazi_Click(object sender, EventArgs e)
        {
            string odabraniKlijent = Convert.ToString(DdlKlijent.SelectedValue).Trim();
            string odabranaRoba = Convert.ToString(DdlRoba.SelectedValue).Trim();
            string pozicija = txtPozicija.Text.Trim();

            var connection = new System.Data.SqlClient.SqlConnection();
            connection.ConnectionString = @"Data Source=.\bubisql;Initial Catalog=Pacorini;Integrated Security=True";

            var sqlIzabrani = connection.CreateCommand();

            sqlIzabrani.CommandText = @"SELECT Klijent.Naziv, Roba.NazivRobe, Roba.IdRobe, Roba.Kolicina, Roba.Koleta, Roba.Pozicija, Roba.SifraRobe, Roba.DatumUlaza
                                        FROM Klijent INNER JOIN Roba ON Klijent.IdKlijent = Roba.IdKlijent
                                        WHERE (klijent.Naziv=@Klijent OR @Klijent='SVE') AND (Roba.NazivRobe=@Roba OR @Roba='SVE')  AND (Roba.Pozicija=@Pozicija OR @Pozicija='')";

            SqlParameter parametar1 = new System.Data.SqlClient.SqlParameter();
            parametar1.ParameterName = "@Klijent";
            parametar1.Value = odabraniKlijent;
            SqlParameter parametar2 = new System.Data.SqlClient.SqlParameter();
            parametar2.ParameterName = "@Roba";
            parametar2.Value = odabranaRoba;
            SqlParameter parametar3 = new System.Data.SqlClient.SqlParameter();
            parametar3.ParameterName = "@Pozicija";
            parametar3.Value = pozicija;

            sqlIzabrani.Parameters.Add(parametar1);
            sqlIzabrani.Parameters.Add(parametar2);
            sqlIzabrani.Parameters.Add(parametar3);
            var dataset = new System.Data.DataSet();
            var adapterIzabrani = new System.Data.SqlClient.SqlDataAdapter();

            adapterIzabrani.SelectCommand = sqlIzabrani;

            adapterIzabrani.Fill(dataset);
            
            gvPregledRobe.DataSource = dataset;
            gvPregledRobe.DataBind();


        }

    }
}